home *** CD-ROM | disk | FTP | other *** search
/ Aminet 15 / Aminet 15 - Nov 1996.iso / Aminet / dev / basic / ace24dist.lha / ace24.lha / include / rexx / rxslib.h < prev    next >
C/C++ Source or Header  |  1996-09-10  |  5KB  |  120 lines

  1. #ifndef REXX_RXSLIB_H
  2. #define REXX_RXSLIB_H 1
  3. /*
  4. ** rxslib.h for ACE Basic
  5. **
  6. ** Note: Translated to ACE by ConvertC2ACE
  7. **       @ MapMeadow Software, Nils Sjoholm
  8. **
  9. **
  10. ** Date: 09/03/95
  11. **
  12. **
  13. */
  14.  
  15. /*
  16. ** This are the StructPointer defines for rxslib.h
  17. */
  18. #ifndef RxsLibPtr
  19. #define RxsLibPtr ADDRESS
  20. #endif
  21. /*
  22. ** End of StructPointer defines for rxslib.h
  23. */
  24.  
  25.  
  26. #ifndef REXX_STORAGE_H
  27. #include <rexx/storage.h>
  28. #endif
  29.  
  30. #define RXSNAME  "rexxsyslib.library"
  31. #define RXSDIR   "REXX"
  32. #define RXSTNAME "ARexx"
  33.  
  34. /* The REXX systems library structure.  This should be considered as    */
  35. /* semi-private and read-only,  except for documented exceptions.    */
  36.  
  37. STRUCT RxsLib  
  38.    _Library rl_Node          /* EXEC library node     */
  39.    BYTE     rl_Flags               /* global flags          */
  40.    BYTE     rl_Shadow              /* shadow flags          */
  41.    ADDRESS     rl_SysBase         /* EXEC library base     */
  42.    ADDRESS     rl_DOSBase         /* DOS library base      */
  43.    ADDRESS     rl_IeeeDPBase          /* IEEE DP math library base */
  44.    LONGINT     rl_SegList         /* library seglist       */
  45.    LONGINT     rl_NIL             /* global NIL: filehandle    */
  46.    LONGINT     rl_Chunk               /* allocation quantum        */
  47.    LONGINT     rl_MaxNest         /* maximum expression nesting    */
  48.    NexxStrPtr  rl_NULL         /* static string: NULL       */
  49.    NexxStrPtr  rl_FALSE            /* static string: FALSE      */
  50.    NexxStrPtr  rl_TRUE         /* static string: TRUE       */
  51.    NexxStrPtr  rl_REXX         /* static string: REXX       */
  52.    NexxStrPtr  rl_COMMAND          /* static string: COMMAND    */
  53.    NexxStrPtr  rl_STDIN            /* static string: STDIN      */
  54.    NexxStrPtr  rl_STDOUT           /* static string: STDOUT */
  55.    NexxStrPtr  rl_STDERR           /* static string: STDERR */
  56.    ADDRESS    rl_Version            /* version string        */
  57.  
  58.    ADDRESS    rl_TaskName           /* name string for tasks */
  59.    LONGINT      rl_TaskPri            /* starting priority     */
  60.    LONGINT      rl_TaskSeg            /* startup seglist       */
  61.    LONGINT      rl_StackSize          /* stack size            */
  62.    ADDRESS    rl_RexxDir            /* REXX directory        */
  63.    ADDRESS    rl_CTABLE         /* character attribute table */
  64.    ADDRESS    rl_Notice         /* copyright notice      */
  65.  
  66.    MsgPort rl_RexxPort          /* REXX public port      */
  67.    SHORTINT     rl_ReadLock           /* lock count            */
  68.    LONGINT      rl_TraceFH            /* global trace console      */
  69.    _List rl_TaskList         /* REXX task list        */
  70.    SHORTINT      rl_NumTask            /* task count            */
  71.    _List rl_LibList          /* Library List header       */
  72.    SHORTINT      rl_NumLib         /* library count     */
  73.    _List rl_ClipList         /* ClipList header       */
  74.    SHORTINT      rl_NumClip            /* clip node count       */
  75.    _List rl_MsgList          /* pending messages      */
  76.    SHORTINT      rl_NumMsg         /* pending count     */
  77.    _List rl_PgmList          /* cached programs       */
  78.    SHORTINT      rl_NumPgm         /* program count     */
  79.  
  80.    SHORTINT     rl_TraceCnt           /* usage count for trace console */
  81.    SHORTINT      rl_avail 
  82.    END STRUCT 
  83.  
  84. /* Global flag bit definitions for RexxMaster               */
  85. #define RLFB_TRACE RTFB_TRACE          /* interactive tracing?      */
  86. #define RLFB_HALT  RTFB_HALT           /* halt execution?       */
  87. #define RLFB_SUSP  RTFB_SUSP           /* suspend execution?        */
  88. #define RLFB_STOP  6               /* deny further invocations  */
  89. #define RLFB_CLOSE 7               /* close the master      */
  90.  
  91. #define RLFMASK    (1) OR (2) OR (4)
  92.  
  93. /* Initialization constants                     */
  94. #define RXSCHUNK   1024        /* allocation quantum        */
  95. #define RXSNEST    32              /* expression nesting limit  */
  96. #define RXSTPRI    0               /* task priority     */
  97. #define RXSSTACK   4096        /* stack size            */
  98.  
  99. /* Character attribute flag bits used in REXX.              */
  100. #define CTB_SPACE   0              /* white space characters    */
  101. #define CTB_DIGIT   1              /* decimal digits 0-9        */
  102. #define CTB_ALPHA   2              /* alphabetic characters */
  103. #define CTB_REXXSYM 3              /* REXX symbol characters    */
  104. #define CTB_REXXOPR 4              /* REXX operator characters  */
  105. #define CTB_REXXSPC 5              /* REXX special symbols      */
  106. #define CTB_UPPER   6              /* UPPERCASE alphabetic      */
  107. #define CTB_LOWER   7              /* lowercase alphabetic      */
  108.  
  109. /* Attribute flags                          */
  110. #define CTF_SPACE   (1)
  111. #define CTF_DIGIT   (2)
  112. #define CTF_ALPHA   (4)
  113. #define CTF_REXXSYM (8)
  114. #define CTF_REXXOPR (16)
  115. #define CTF_REXXSPC (32)
  116. #define CTF_UPPER   (64)
  117. #define CTF_LOWER   (128)
  118.  
  119. #endif
  120.